/**

This file is part of MaCI/GIMnet.

MaCI/GIMnet is free software: you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation, either version 3 of the License, or 
(at your option) any later version.

MaCI/GIMnet is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with GIMnet. (See COPYING.LESSER) If not, see 
<http://www.gnu.org/licenses/>.

**/

#define SCALER 1.0

#define WHEEL_RADIUS 0.25*SCALER
#define WHEEL_WIDTH 0.15*SCALER

#define GROUND_CLEARANCE (WHEEL_RADIUS-0.05*SCALER)

#define BODY_LENGTH 4.0*SCALER
#define BODY_HEIGHT 0.4*SCALER
#define BODY_WIDTH 0.9*SCALER

#define BODY_MASS 1200.0*SCALER*SCALER

#define BODY_DENSITY (BODY_MASS/(BODY_LENGTH*BODY_HEIGHT*BODY_WIDTH))

#define ROOF_HEIGHT 0.05*SCALER
#define ROOF_LENGTH 1.2*SCALER
#define ROOF_WIDTH 1.0*SCALER

#define ROOF_Z (GROUND_CLEARANCE+BODY_HEIGHT/2.0+0.55)
#define ROOF_Y -0.1*SCALER

#define FRONT_WHEELS_Y 1.3*SCALER
#define REAR_WHEELS_Y -1.2*SCALER

#define WHEEL_BODY_GAP 0.2*SCALER
#define TRACK (BODY_WIDTH+ WHEEL_WIDTH+ WHEEL_BODY_GAP*2.0)
#define WHEELBASE (FRONT_WHEELS_Y- REAR_WHEELS_Y)

#define SUSPENSION_SPRING 200000.0
#define SUSPENSION_DAMP 1000.0

#define STEER_ANGLE_DEGREES_MAX 40.0

#define MAX_SPEED_KMPH 130.0
#define MAX_SPEED_MPS (MAX_SPEED_KMPH*1000.0/(60.0*60.0))

#define MAX_REVERSE_SPEED_KMPH 10.0
#define MAX_REVERSE_SPEED_MPS (MAX_REVERSE_SPEED_KMPH*1000.0/(60.0*60.0))

#define MAX_TORQUE 10000.0
#define MAX_BRAKE_POWER 20000.0

#define SPEED_INTERVAL 0.5

#define BUMPER_WIDTH (TRACK/2.1+WHEEL_WIDTH)
#define BUMPER_HEIGHT 0.4*SCALER
#define FRONT_BUMPER_LENGTH 0.3*SCALER
#define REAR_BUMPER_LENGTH 0.4*SCALER

#define FRONT_BUMPER_Y (BODY_LENGTH/2.0-0.12*SCALER)
#define REAR_BUMPER_Y (-BODY_LENGTH/2.0+0.20*SCALER)
#define BUMPER_X (BUMPER_WIDTH/2.0-0.05*SCALER)

#define TOP_BLOCK_HEIGHT (0.15*SCALER)
#define TOP_BLOCK_LENGTH (BODY_LENGTH-0.2*SCALER)
#define TOP_BLOCK_WIDTH TRACK

#define BOOM_LENGTH 3.0
#define BOOM_WIDTH 0.05
#define BOOM_HEIGHT 0.05
#define BOOM_CAMERA_HEIGHT 1.0
#define BOOM_CAMERA_FOV 70.0
#define BOOM_TURNING_RATIO 0.5

